//
// Created by yk120 on 2024/3/1.
//

#ifndef NANOFAISS_INDEXIVFFLAT_H
#define NANOFAISS_INDEXIVFFLAT_H
#include <nanofaiss/IndexIVF.h>

namespace faiss {

// Inverted file with stored vectors but in raw
struct IndexIVFFlat : IndexIVF {
    IndexIVFFlat(
            Index* quantizer,
            size_t d,
            size_t nlist,
            MetricType metric_type = MetricType::METRIC_L2);


    void add_core(idx_t n,
                  const float *x,
                  const idx_t *xids,
                  const idx_t *precomputed_idx) override;


};

}
#endif // NANOFAISS_INDEXIVFFLAT_H
